<?php
//error_reporting(0);
$id = isset($_GET['id'])?intval($_GET['id']):exit();
$url = isset($_GET['url'])?trim($_GET['url']):exit();
if ($id < 1 || $id > 13) exit();

$backgrounds = array('1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg', '7.jpg', '8.jpg', '9.jpg', '10.jpg', '11.jpg', '12.jpg', '13.jpg');

$imagesx = array(630, 640, 348, 348, 650, 630, 648, 130, 605, 635, 268, 170, 260);

$imagesy = array(150, 153, 120, 120, 90, 165, 230, 110, 196, 180, 84, 280, 167);

$imagesize = array(200, 180, 240, 230, 140, 165, 190, 280, 180, 140, 180, 85, 145);

$path_1 = './img/' . $backgrounds[$id - 1];
//图片二 旧接口已更新https，远程载入有问题
//$path_2 = 'https://www.liantu.com/api.php?w='.$imagesize[$id-1].'&m=10&text='.urlencode($url);
//$path_2 = 'http://qr.topscan.com/api.php?w='.$imagesize[$id-1].'&m=10&text='.urlencode($url);
$path_2 = 'https://api.qrserver.com/v1/create-qr-code/?size='.$imagesize[$id-1].'x'.$imagesize[$id-1].'&data='.urlencode($url);
//创建图片对象
//imagecreatefrompng($filename)--由文件或 URL 创建一个新图象

$image_1 = imagecreatefromjpeg($path_1);
if (empty($image_1)) exit("解析载入图片一失败");
$image_2 = imagecreatefrompng($path_2);
if (empty($image_2)) exit("解析载入图片二失败");
//合成图片
//imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )---拷贝并合并图像的一部分
//将 src_im 图像中坐标从 src_x，src_y 开始，宽度为 src_w，高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。两图像将根据 pct 来决定合并程度，其值范围从 0 到 100。当 pct = 0 时，实际上什么也没做，当为 100 时对于调色板图像本函数和 imagecopy() 完全一样，它对真彩色图像实现了 alpha 透明。
imagecopymerge($image_1, $image_2, $imagesx[$id-1], $imagesy[$id-1], 0, 0, imagesx($image_2), imagesy($image_2), 100);
// 输出合成图片
//imagepng($image[,$filename]) — 以 PNG 格式将图像输出到浏览器或文件
header('Content-type:image/png');
imagepng($image_1);